class CQueue {
     stack<int> s1;    //队尾
     stack<int> s2;     //队头
     
public:
    CQueue() { }
    
    void appendTail(int value) {
        s1.push(value);      //队尾入队（s1 入栈）
    }
    
    int deleteHead() {
        if(s2.empty()){       //（s2为空）
            while(!s1.empty()){    
                s2.push(s1.top());    //s1不空，将s1所有元素移到s2 
                s1.pop();    
            }
        }
        if(s2.empty()){ return -1;}   //队空 返回-1
        else{
            int head = s2.top();   //获取队头元素（s2栈顶）
            s2.pop();           //出队（s2出栈）
            return head;
        }
    }
};